{
  "openapi": "3.1.0",
  "info": {
    "title": "Open API",
    "description": "The MoreLogin Open API provides a powerful, remote RESTful interface exclusively for managing **Cloud Phones** at scale. This cloud-hosted API empowers developers to programmatically create phone instances, install apps, manage files, and orchestrate RPA schedules from anywhere, without needing a local client running.",
    "version": "1.0.0"
  },
  "tags": [
    {
      "name": "Authorization"
    },
    {
      "name": "Cloud Phone Management"
    },
    {
      "name": "ADB"
    },
    {
      "name": "Files"
    },
    {
      "name": "Apps"
    },
    {
      "name": "Schedules"
    },
    {
      "name": "Touch"
    }
  ],
  "x-tagGroups": [
    {
      "name": "",
      "tags": [
        "Authorization",
        "Cloud Phone Management",
        "ADB",
        "Files",
        "Apps",
        "Schedules",
        "Touch"
      ]
    }
  ],
  "paths": {
    "/oauth2/token": {
      "post": {
        "summary": "Access Token",
        "deprecated": false,
        "description": "",
        "tags": [
          "Authorization"
        ],
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "example": "application/json",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "client_id": {
                    "description": "A API ID identifies an member",
                    "type": "string"
                  },
                  "client_secret": {
                    "description": "A API Key authenticates a client ID. To call MoreLogin APIs, you'll\nexchange your API ID and API Key for an access token. Keep this\nsecret safe.\n",
                    "type": "string"
                  },
                  "grant_type": {
                    "description": "Package name — required only if appVersionId is not provided",
                    "type": "string",
                    "example": "client_credentials"
                  }
                },
                "required": [
                  "client_id",
                  "client_secret",
                  "grant_type"
                ]
              },
              "example": {
                "client_id": 1672940217990530,
                "client_secret": "client_secret",
                "grant_type": "client_credentials"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "null"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "scope": {
                          "type": "string"
                        },
                        "access_token": {
                          "type": "string"
                        },
                        "token_type": {
                          "type": "string"
                        },
                        "expires_in": {
                          "type": "integer"
                        },
                        "client_metadata": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "name"
                          ],
                          "x-apidog-orders": [
                            "name"
                          ],
                          "x-apidog-ignore-properties": []
                        }
                      },
                      "required": [
                        "scope",
                        "access_token",
                        "token_type",
                        "expires_in",
                        "client_metadata"
                      ],
                      "x-apidog-orders": [
                        "scope",
                        "access_token",
                        "token_type",
                        "expires_in",
                        "client_metadata"
                      ],
                      "x-apidog-ignore-properties": []
                    },
                    "requestId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ],
                  "x-apidog-orders": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ],
                  "x-apidog-ignore-properties": []
                },
                "example": {
                  "code": 0,
                  "msg": null,
                  "data": {
                    "scope": "cloudphone",
                    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNjU4MjYwNzYyNjA3OTU2IiwibmFtZSI6InpodXp1YmluNTU155qE5Zui6ZifIiwiZXhwIjoxNzY2ODkxNDY4LCJpYXQiOjE3NjY4ODc4Njh9.CJ_h-EQTG440qL-zSPcAockuw9PmBfyllyGZd0cmF0Q\n",
                    "token_type": "Bearer",
                    "expires_in": 3600,
                    "client_metadata": {
                      "name": "team name"
                    }
                  },
                  "requestId": "1d4f3ea968664593860b94b35d4ebf5e"
                }
              }
            },
            "headers": {},
            "x-apidog-name": "成功",
            "x-apidog-ordering": 0
          }
        },
        "security": []
      }
    },
    "/oauth2/userinfo": {
      "get": {
        "summary": "Get Current User Profile",
        "deprecated": false,
        "description": "",
        "tags": [
          "Authorization"
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "null"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "teamId": {
                          "type": "string"
                        },
                        "teamName": {
                          "type": "string"
                        },
                        "memberId": {
                          "type": "string"
                        },
                        "memberNickName": {
                          "type": "string"
                        },
                        "memberEmail": {
                          "type": "string"
                        }
                      }
                    },
                    "requestId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "msg": null,
                  "data": {
                    "scope": "cloudphone",
                    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNjU4MjYwNzYyNjA3OTU2IiwibmFtZSI6InpodXp1YmluNTU155qE5Zui6ZifIiwiZXhwIjoxNzY2ODkxNDY4LCJpYXQiOjE3NjY4ODc4Njh9.CJ_h-EQTG440qL-zSPcAockuw9PmBfyllyGZd0cmF0Q\n",
                    "token_type": "Bearer",
                    "expires_in": 3600,
                    "client_metadata": {
                      "name": "team name"
                    }
                  },
                  "requestId": "1d4f3ea968664593860b94b35d4ebf5e"
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/uploadUrl": {
      "post": {
        "summary": "Request File Upload URL",
        "deprecated": false,
        "description": "Upload temporary files through this interface, and the system will automatically delete them after 7 days",
        "operationId": "get",
        "tags": [
          "Files"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "Cloud phone ID"
                  },
                  "fileName": {
                    "type": "string",
                    "description": "Upload file name"
                  }
                }
              },
              "example": {
                "fileName": "example.jpg",
                "id": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Return result code 0:Normal Other codes are exceptions."
                    },
                    "msg": {
                      "type": "string",
                      "description": "error message\n"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "presignedUrl": {
                          "type": "string",
                          "description": "File upload URL use https PUT uploading files to cloud storage"
                        }
                      },
                      "required": [
                        "presignedUrl"
                      ]
                    },
                    "requestId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/uploadFile": {
      "post": {
        "summary": "Upload File",
        "deprecated": false,
        "description": "",
        "operationId": "fileUploadUsing",
        "tags": [
          "Files"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "description": "Cloud phone ID",
                    "type": "string",
                    "example": "1661515884160372"
                  },
                  "url": {
                    "type": "string",
                    "description": "upload file url",
                    "example": "https://example.com/test.jpg"
                  },
                  "uploadDest": {
                    "description": "Upload destination directory",
                    "type": "string",
                    "example": "/Download"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "null"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "fileId": {
                          "type": "string",
                          "description": "Uploaded file ID"
                        },
                        "id": {
                          "type": "cloud phone ID"
                        },
                        "status": {
                          "type": "integer",
                          "description": "Upload status 0:uploading 1:success 2:failed"
                        }
                      },
                      "required": [
                        "fileId",
                        "id",
                        "status"
                      ]
                    },
                    "requestId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "msg": null,
                  "data": {
                    "fileId": "1661515884160111",
                    "id": 1661515884160372,
                    "status": 1
                  },
                  "requestId": "1d4f3ea968664593860b94b35d4ebf5e"
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/uploadFileResult": {
      "post": {
        "summary": "Get File Upload Result",
        "deprecated": false,
        "description": "",
        "operationId": "fileUploadResult",
        "tags": [
          "Files"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "description": "Cloud phone ID",
                    "type": "string",
                    "example": "1661515884160372"
                  },
                  "fileId": {
                    "type": "string",
                    "description": "Uploaded file ID"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "null"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "cloud phone ID"
                        },
                        "fileId": {
                          "type": "string",
                          "description": "Uploaded file ID"
                        },
                        "status": {
                          "type": "integer",
                          "description": "Upload status 0:uploading 1:success 2:failed"
                        }
                      },
                      "required": [
                        "fileId",
                        "id",
                        "status"
                      ]
                    },
                    "requestId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "msg": null,
                  "data": {
                    "id": 1661515884160372,
                    "fileId": "1661515884160111",
                    "status": 1
                  },
                  "requestId": "1d4f3ea968664593860b94b35d4ebf5e"
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/download": {
      "post": {
        "summary": "Request File Download URL",
        "deprecated": false,
        "description": "",
        "tags": [
          "Files"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "cloud phone id"
                  },
                  "filePath": {
                    "type": "string",
                    "description": "file path: /sdcard/Download/a.txt\n"
                  }
                },
                "required": [
                  "filePath",
                  "id"
                ]
              },
              "example": {
                "filePath": "",
                "id": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "Cloud phone id"
                        },
                        "downId": {
                          "type": "integer",
                          "description": "File download id "
                        }
                      },
                      "required": [
                        "id",
                        "downId"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data"
                  ]
                },
                "example": {
                  "code": 0,
                  "msg": "",
                  "data": {
                    "id": 0,
                    "downId": 0
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/download/result": {
      "post": {
        "summary": "Get File Download Result",
        "deprecated": false,
        "description": "",
        "tags": [
          "Files"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "cloud phone id"
                  },
                  "downId": {
                    "type": "integer",
                    "description": "file download id"
                  }
                },
                "required": [
                  "downId",
                  "id"
                ]
              },
              "example": {
                "downId": 0,
                "id": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "null"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "integer",
                          "description": "Download file status;10:Running, 20:Successful, 30:Failed, 40:Cancelled"
                        },
                        "downUrl": {
                          "type": "string",
                          "description": "File download url"
                        }
                      },
                      "required": [
                        "status",
                        "downUrl"
                      ]
                    },
                    "requestId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "msg": null,
                  "data": {
                    "status": 20,
                    "downUrl": "https://get.morelogin.com/..."
                  },
                  "requestId": "17d9dbfd958e4f40a51897520138d3ff"
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/setKeyBox": {
      "post": {
        "summary": "Configure Keybox",
        "deprecated": false,
        "description": "",
        "tags": [
          "Files"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filePath": {
                    "type": "string",
                    "description": "File path, e.g., /sdcard/Download/xxx.xml"
                  },
                  "id": {
                    "type": "integer",
                    "description": "Cloud phone ID"
                  }
                }
              },
              "example": {
                "filePath": "",
                "id": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 = success, >0 = error"
                    },
                    "msg": {
                      "type": "string"
                    },
                    "data": {
                      "type": "boolean"
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/app/install": {
      "post": {
        "summary": "Install App on Cloud Phone",
        "deprecated": false,
        "description": "",
        "tags": [
          "Apps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "appVersionId": {
                    "description": "App version ID",
                    "type": "string"
                  },
                  "id": {
                    "description": "Cloud phone ID",
                    "type": "integer"
                  },
                  "packageName": {
                    "description": "Package name — required only if appVersionId is not provided",
                    "type": "string"
                  },
                  "versionCode": {
                    "description": "Version code — required only if appVersionId is not provided",
                    "type": "integer"
                  }
                },
                "required": [
                  "id"
                ]
              },
              "example": {
                "appVersionId": "1672940217990530",
                "id": 1673823102599682
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "null"
                    },
                    "data": {
                      "type": "boolean"
                    },
                    "requestId": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/app/page": {
      "post": {
        "summary": "List Available Apps",
        "deprecated": false,
        "description": "Fetch the list of team applications",
        "tags": [
          "Apps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "appName": {
                    "description": "App name (partial match)",
                    "type": "string"
                  },
                  "pageNum": {
                    "description": "Page number; Default:1",
                    "type": "integer"
                  },
                  "pageSize": {
                    "description": "Items per page; Default:10",
                    "type": "integer"
                  }
                }
              },
              "example": {
                "appName": "de",
                "pageNum": 1,
                "pageSize": 10
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "null"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "string"
                        },
                        "current": {
                          "type": "string"
                        },
                        "pages": {
                          "type": "string"
                        },
                        "dataList": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {}
                          }
                        }
                      }
                    },
                    "requestId": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/team/app/page": {
      "post": {
        "summary": "List Team Apps",
        "deprecated": false,
        "description": "Fetch the list of team applications",
        "tags": [
          "Apps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "appName": {
                    "description": "App name (partial match)",
                    "type": "string"
                  },
                  "packageNames": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of application package names",
                    "example": [
                      "com.facebook.katana"
                    ]
                  },
                  "pageNum": {
                    "description": "Page number; Default:1",
                    "type": "integer"
                  },
                  "pageSize": {
                    "description": "Items per page; Default:10",
                    "type": "integer"
                  }
                }
              },
              "example": {
                "appName": "TikTok",
                "pageNum": 1,
                "pageSize": 10
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "$ref": "#/components/schemas/ResponseDataPageResultCloudPhoneAppDto"
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/app/installedList": {
      "post": {
        "summary": "List Installed Apps",
        "deprecated": false,
        "description": "Query list of installed apps on a cloud phone",
        "tags": [
          "Apps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "description": "Cloud phone ID",
                    "type": "integer"
                  }
                },
                "required": [
                  "id"
                ]
              },
              "example": {
                "id": 1674550360293464
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "null"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "appName": {
                            "type": "string"
                          },
                          "appIcon": {
                            "type": "string"
                          },
                          "packageName": {
                            "type": "string"
                          },
                          "versionCode": {
                            "type": "string"
                          },
                          "versionName": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "requestId": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/app/start": {
      "post": {
        "summary": "Launch App",
        "deprecated": false,
        "description": "Launch an installed app on the cloud phone",
        "tags": [
          "Apps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "description": "Cloud phone ID",
                    "type": "integer"
                  },
                  "packageName": {
                    "description": "App package name",
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "packageName"
                ]
              },
              "example": {
                "id": 1674550360293464,
                "packageName": "com.depop"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "string"
                    },
                    "data": {
                      "type": "null"
                    },
                    "requestId": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/app/restart": {
      "post": {
        "summary": "Restart App",
        "deprecated": false,
        "description": "",
        "tags": [
          "Apps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "Cloud phone ID"
                  },
                  "packageName": {
                    "type": "string",
                    "description": "App package name"
                  }
                }
              },
              "example": {
                "id": 0,
                "packageName": ""
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code:0 = success, >0 = error"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Response msg, Error message returned if code > 0"
                    },
                    "data": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "msg"
                  ]
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/app/stop": {
      "post": {
        "summary": "Stop App",
        "deprecated": false,
        "description": "",
        "tags": [
          "Apps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "Cloud phone ID"
                  },
                  "packageName": {
                    "type": "string",
                    "description": "App package name"
                  }
                }
              },
              "example": {
                "id": 0,
                "packageName": ""
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 = success, >0 = error"
                    },
                    "data": {
                      "type": "boolean"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Message; populated if code > 0"
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/app/uninstall": {
      "post": {
        "summary": "Uninstall App",
        "deprecated": false,
        "description": "",
        "tags": [
          "Apps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "Cloud phone ID"
                  },
                  "packageName": {
                    "type": "string",
                    "description": "App package name"
                  }
                }
              },
              "example": {
                "id": 0,
                "packageName": ""
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 = success, >0 = error"
                    },
                    "data": {
                      "type": "boolean"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Message; populated if code > 0"
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/app/openRoot": {
      "post": {
        "tags": [
          "Apps"
        ],
        "summary": "Enable app ROOT",
        "description": "Enable ROOT permission for a specific app package on a single cloud phone.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiAppRootOperateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 = success, >0 = error"
                    },
                    "data": {
                      "type": "object",
                      "description": "Empty response data",
                      "example": {}
                    },
                    "msg": {
                      "type": "string",
                      "description": "Message; populated if code > 0"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/app/setHideAccessibilityApp": {
      "post": {
        "summary": "Configure App Accessibility Hiding",
        "deprecated": false,
        "description": "Supports only Android 13,Android 14 and Android15A",
        "tags": [
          "Apps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "description": "Cloud phone IDs"
                  },
                  "packageName": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "App package name, An empty string is equivalent to clearing, while * or ALL hides all applications."
                  }
                }
              },
              "example": {
                "ids": [
                  0
                ],
                "packageName": [
                  "*"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 = success, >0 = error"
                    },
                    "data": {
                      "type": "boolean"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Message; populated if code > 0"
                    }
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/page": {
      "post": {
        "summary": "List Cloud Phone Profiles",
        "operationId": "pageUsingPOST",
        "tags": [
          "Cloud Phone Management"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bindIp": {
                    "type": "boolean",
                    "description": "Whether IP is bound: true = bound, false = not",
                    "example": false
                  },
                  "keyword": {
                    "type": "string",
                    "description": "Keyword to filter: proxy info, group name, tag name, environment name",
                    "example": "CP-424"
                  },
                  "pageNo": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Current page",
                    "example": 1
                  },
                  "pageSize": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Items per page",
                    "example": 100
                  },
                  "sort": {
                    "type": "array",
                    "description": "Dynamic sort fields. Currently only \"envName\" is supported for cloud phones.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sortDirection": {
                          "type": "string",
                          "enum": [
                            "asc",
                            "desc"
                          ],
                          "description": "Sort direction",
                          "example": "asc"
                        },
                        "sortField": {
                          "type": "string",
                          "description": "Field to sort by (only \"envName\" is currently supported)",
                          "example": "envName"
                        }
                      },
                      "required": [
                        "sortDirection",
                        "sortField"
                      ]
                    },
                    "example": [
                      {
                        "sortDirection": "asc",
                        "sortField": "envName"
                      }
                    ]
                  }
                },
                "example": {
                  "bindIp": false,
                  "keyword": "CP-424",
                  "pageNo": 1,
                  "pageSize": 100,
                  "sort": [
                    {
                      "sortDirection": "asc",
                      "sortField": "envName"
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Return result code 0:Normal Other codes are exceptions."
                    },
                    "msg": {
                      "type": "string",
                      "description": "error message"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "current": {
                          "type": "integer"
                        },
                        "dataList": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/CloudPhoneProfile"
                          }
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "total": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "current",
                        "dataList",
                        "pages",
                        "total"
                      ]
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Operation Request ID"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/create": {
      "post": {
        "summary": "Create Cloud Phone",
        "operationId": "createUsingPOST",
        "tags": [
          "Cloud Phone Management"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "skuId": {
                    "type": "string",
                    "description": "Cloud Phone model\nskuId:10002 model:Android 12\nskuId:10013 model:Android 13\nskuId:10005 model:Android 14\nskuId:10004 model:Android 15\nskuId:10014 model:Android 15A\nskuId:10015 model:Android 16\nSee [Country Time Zone Table](/api-reference/appendix/country-time-zone) for supported regions and timezone mappings\n"
                  },
                  "quantity": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 10,
                    "description": "Number of cloud phone created. Range of values:[1-10]"
                  },
                  "envRemark": {
                    "type": "string",
                    "maxLength": 1500,
                    "description": "Profile Remarks (Length limit 1500 characters)"
                  },
                  "automaticGeo": {
                    "type": "boolean",
                    "description": "Whether to automatically match the geographic location. Default:true"
                  },
                  "automaticLanguage": {
                    "type": "boolean",
                    "description": "Whether to automatically match the language. Default:true"
                  },
                  "automaticLocation": {
                    "type": "boolean",
                    "description": "Whether to auto-match location (time zone, country). Default:true"
                  },
                  "country": {
                    "type": "string",
                    "description": "Country code (e.g. `us`). See [Country Time Zone Table](/api-reference/appendix/country-time-zone) for the full list"
                  },
                  "timezone": {
                    "type": "string",
                    "description": "Time zone, e.g. America/New_York"
                  },
                  "language": {
                    "type": "string",
                    "description": "Language, e.g. en-US"
                  },
                  "altitude": {
                    "type": "integer"
                  },
                  "latitude": {
                    "type": "number",
                    "description": "Latitude. Example:22.309182"
                  },
                  "longitude": {
                    "type": "number",
                    "description": "Longitude. Example:114.176817"
                  },
                  "phoneNumber": {
                    "type": "string",
                    "description": "Customize your phone number. Format requirements:Must begin with a + sign, country code must be 1-3 digits (excluding 86), total length 8-14 digits, and contain only + and numbers."
                  },
                  "brand": {
                    "type": "string",
                    "description": "device brand,You can query via the https://guide.morelogin.com/api-reference/open-api/open-api/cloud-phone/paths/~1cloudphone~1brand~1models/post interface."
                  },
                  "modelId": {
                    "type": "number",
                    "description": "device model id,You can query via the https://guide.morelogin.com/api-reference/open-api/open-api/cloud-phone/paths/~1cloudphone~1brand~1models/post interface."
                  },
                  "proxyId": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Proxy ID"
                  }
                },
                "required": [
                  "skuId",
                  "quantity"
                ],
                "example": {
                  "skuId": "10002",
                  "envRemark": "Remark added at creation",
                  "groupId": "1565859744475508",
                  "automaticGeo": false,
                  "automaticLanguage": false,
                  "automaticLocation": false,
                  "country": "au",
                  "timezone": "Australia/Currie",
                  "language": "de-AT",
                  "altitude": 1980,
                  "latitude": 83.73,
                  "longitude": 106.49,
                  "proxyId": 1634660919386770,
                  "quantity": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "string",
                      "nullable": true
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "This is Cloud phone IDS"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "error": {
                      "type": "object",
                      "properties": {}
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "requestId"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/powerOn": {
      "post": {
        "summary": "Start Cloud Phone",
        "operationId": "powerOnUsingPOST",
        "tags": [
          "Cloud Phone Management"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "disableMoneySavingMode": {
                    "type": "boolean",
                    "description": "Disable power saving mode, default:false"
                  }
                },
                "required": [
                  "id"
                ]
              },
              "example": {
                "id": 1637226321190925
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Return result code 0:Normal Other codes are exceptions."
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Operation Request ID"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "requestId"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/powerOff": {
      "post": {
        "summary": "Stop Cloud Phone",
        "operationId": "powerOffUsingPOST",
        "tags": [
          "Cloud Phone Management"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "int64"
                  }
                },
                "required": [
                  "id"
                ]
              },
              "example": {
                "id": 1596527092376632
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Return result code 0:Normal Other codes are exceptions."
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Operation Request ID"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "requestId"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/edit/batch": {
      "post": {
        "summary": "Update Cloud Phone Profile",
        "operationId": "editBatchUsingPOST",
        "tags": [
          "Cloud Phone Management"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "description": "Cloud phone IDs"
                  },
                  "envName": {
                    "type": "string",
                    "maxLength": 64,
                    "minLength": 1,
                    "description": "Cloud phone name (≤64 chars)"
                  },
                  "phoneNumber": {
                    "type": "string",
                    "description": "Customize your phone number. Format requirements:Must begin with a + sign, country code must be 1-3 digits (excluding 86), total length 8-14 digits, and contain only + and numbers."
                  },
                  "powerOnBillingStrategy": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Non-Monthly cloud phone billing method (0:default, 1:parallel pack only)"
                  },
                  "proxyId": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Proxy ID"
                  },
                  "groupId": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Environment group ID"
                  },
                  "tagIds": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "int64"
                    },
                    "description": "Environment tag IDs"
                  },
                  "tagOps": {
                    "type": "string",
                    "enum": [
                      "ADD",
                      "UPDATE",
                      "CLEAR"
                    ],
                    "description": "Tag operation"
                  },
                  "envRemark": {
                    "type": "string",
                    "maxLength": 1500,
                    "description": "Environment remark (≤1500 chars, line breaks supported)"
                  },
                  "automaticGeo": {
                    "type": "boolean",
                    "description": "Auto geolocation"
                  },
                  "automaticLanguage": {
                    "type": "boolean",
                    "description": "Auto language"
                  },
                  "automaticLocation": {
                    "type": "boolean",
                    "description": "Auto location (timezone & country)"
                  },
                  "country": {
                    "type": "string",
                    "description": "Country"
                  },
                  "timezone": {
                    "type": "string",
                    "description": "Timezone"
                  },
                  "language": {
                    "type": "string",
                    "description": "Language"
                  },
                  "altitude": {
                    "type": "number",
                    "description": "Altitude"
                  },
                  "latitude": {
                    "type": "number",
                    "description": "Latitude"
                  },
                  "longitude": {
                    "type": "number",
                    "description": "Longitude"
                  },
                  "enableRoot": {
                    "type": "boolean",
                    "description": "Enable global ROOT"
                  }
                },
                "required": [
                  "id"
                ]
              },
              "example": {
                "id": [
                  1637238770951311
                ],
                "proxyId": 0,
                "automaticGeo": false,
                "automaticLanguage": false,
                "automaticLocation": false,
                "country": "bo",
                "timezone": "America/La_Paz",
                "language": "de-CH",
                "latitude": 0,
                "longitude": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Return result code:0,Normal Other codes are exceptions."
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Operation Request ID"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "requestId"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/setProxy": {
      "post": {
        "tags": [
          "Cloud Phone Management"
        ],
        "summary": "Set cloud phone proxy",
        "description": "Set proxy settings for one or more cloud phones. Supports binding proxyId directly, or adding/modifying detailed proxy parameters. The request payload format is identical to browser proxy configuration, and settings are synchronized to channel providers in real-time.",
        "operationId": "setProxy",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloudPhoneSetProxyApiDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 = success, >0 = error"
                    },
                    "data": {
                      "type": "object",
                      "description": "Empty response data",
                      "example": {}
                    },
                    "msg": {
                      "type": "string",
                      "description": "Message; populated if code > 0"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/delete/batch": {
      "post": {
        "summary": "Delete Cloud Phone",
        "operationId": "deleteUsingPOST",
        "tags": [
          "Cloud Phone Management"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "ids"
                ]
              },
              "example": {
                "ids": [
                  "1595755686723985"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Return result code 0:Normal Other codes are exceptions."
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Operation Request ID"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "requestId"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/newMachine": {
      "post": {
        "summary": "One-click new machine",
        "operationId": "oneNewUsingPOST",
        "tags": [
          "Cloud Phone Management"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Cloud phone ID"
                  },
                  "brand": {
                    "type": "string",
                    "description": "Brand"
                  },
                  "modelId": {
                    "type": "integer",
                    "description": "Model ID"
                  }
                }
              },
              "example": {
                "id": 1595372958075305
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code:0 indicates success, >0 indicates failure"
                    },
                    "msg": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "msg"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/info": {
      "post": {
        "summary": "Get Cloud Phone Details",
        "operationId": "infoUsingPOST",
        "tags": [
          "Cloud Phone Management"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Cloud phone ID"
                  }
                },
                "required": [
                  "id"
                ]
              },
              "example": {
                "id": 1672532391231745
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "example": 0
                    },
                    "msg": {
                      "type": "string",
                      "nullable": true,
                      "example": null
                    },
                    "data": {
                      "$ref": "#/components/schemas/CloudPhoneDetail"
                    },
                    "requestId": {
                      "type": "string",
                      "example": "4d0f4fa68613441e9a11446a6437bb5a"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/queryByAndroidId": {
      "post": {
        "summary": "Get Cloud Phone Details By AndroidId",
        "description": "Query the cloud phone ID associated with a specific androidId under the current team. Returns the single cloud phone ID if found.",
        "operationId": "queryByAndroidId",
        "tags": [
          "Cloud Phone Management"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "androidId": {
                    "type": "string",
                    "description": "The androidId of the cloud phone",
                    "example": "8f7e6d5c4b3a2f1e"
                  }
                },
                "required": [
                  "androidId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "example": 0
                    },
                    "msg": {
                      "type": "string",
                      "nullable": true,
                      "example": null
                    },
                    "data": {
                      "$ref": "#/components/schemas/CloudPhoneDetail"
                    },
                    "requestId": {
                      "type": "string",
                      "example": "4d0f4fa68613441e9a11446a6437bb5a"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/enableRoot": {
      "post": {
        "tags": [
          "Cloud Phone Management"
        ],
        "summary": "Enable or disable global ROOT",
        "description": "Enable or disable the global system-level ROOT permission on a single cloud phone.",
        "operationId": "enableRoot",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloudPhoneEnableRootApiDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 = success, >0 = error"
                    },
                    "data": {
                      "type": "object",
                      "description": "Empty response data",
                      "example": {}
                    },
                    "msg": {
                      "type": "string",
                      "description": "Message; populated if code > 0"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/screenCap": {
      "post": {
        "tags": [
          "Cloud Phone Management"
        ],
        "summary": "Cloud phone screen capture",
        "description": "Get the real-time screen capture of the specified cloud phone instance. Supports returning a temporary signed URL with an expiration timestamp.",
        "operationId": "screenCap",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "int64",
                    "description": "cloud phone ID",
                    "example": 1558968155668507
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 = success, >0 = error"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "The screenshot access URL",
                          "example": "http://oss.morelogin.com/test.png"
                        },
                        "status": {
                          "type": "string",
                          "description": "Status representing immediate completion or pending status",
                          "example": "finish"
                        },
                        "expireAt": {
                          "type": "integer",
                          "format": "int64",
                          "description": "URL expiration timestamp in milliseconds (only for ARM cloud provider)",
                          "example": 1756024767163
                        },
                        "success": {
                          "type": "boolean",
                          "description": "Was successfully generated",
                          "example": true
                        }
                      }
                    },
                    "msg": {
                      "type": "string",
                      "description": "Message; populated if code > 0"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/screenCapBase64": {
      "post": {
        "tags": [
          "Cloud Phone Management"
        ],
        "summary": "Cloud phone screen capture (response base64)",
        "description": "Get the real-time screen capture of the specified cloud phone instance. Currently, only Android 12 and Android 15 are supported.",
        "operationId": "screenCapBase64",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "int64",
                    "description": "cloud phone ID",
                    "example": 1558968155668507
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 = success, >0 = error"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "captureBase64": {
                          "type": "string",
                          "description": "Base64-encoded image",
                          "example": "data:image/png;base64,/9j/4AAQSkZJRgABAQAA....."
                        },
                        "errorMessage": {
                          "type": "string",
                          "description": "error message",
                          "example": "success"
                        },
                        "success": {
                          "type": "boolean",
                          "description": "Was successfully generated",
                          "example": true
                        }
                      }
                    },
                    "msg": {
                      "type": "string",
                      "description": "Message; populated if code > 0"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/brand/models": {
      "post": {
        "summary": "List Device Brands & Models",
        "description": "Query available brand & model list for given Android version",
        "tags": [
          "Cloud Phone Management"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "skuId": {
                    "type": "integer",
                    "description": "Cloud phone product ID"
                  }
                },
                "required": [
                  "skuId"
                ]
              },
              "example": {
                "skuId": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer"
                    },
                    "msg": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "timestamp": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "brand": {
                            "type": "string"
                          },
                          "model": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/updateAdb": {
      "post": {
        "summary": "Update ADB Connection Status",
        "operationId": "updateAdbUsingPOST",
        "tags": [
          "ADB"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enableAdb": {
                    "type": "boolean"
                  },
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "format": "int64"
                    }
                  }
                },
                "required": [
                  "enableAdb",
                  "ids"
                ]
              },
              "example": {
                "enableAdb": true,
                "ids": [
                  1633612946805630
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Return result code 0:Normal Other codes are exceptions."
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error message"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Operation Request ID"
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "requestId"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/batchAdbInfo": {
      "post": {
        "tags": [
          "ADB"
        ],
        "summary": "Batch Query ADB Info",
        "description": "Batch query cloud phone ADB connection info.\n- The envIds list supports a maximum of 200 items\n- Supports mixed queries across wuin and arm providers; the API internally groups by provider and merges results\n- ADB info is only available when the phone is powered on (envStatus >= 4); it cannot be queried when powered off or booting\n",
        "operationId": "batchAdbInfoOpenApi",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiBatchAdbInfoDto"
              },
              "example": {
                "envIds": [
                  1674380838117474,
                  1675787900043353
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseDataListApiBatchAdbInfoResultDto"
                },
                "example": {
                  "code": 0,
                  "msg": "success",
                  "data": [
                    {
                      "id": 1674380838117474,
                      "supportAdb": true,
                      "envStatus": 4,
                      "adbIp": "192.168.1.100",
                      "adbPassword": "abc12345",
                      "adbPort": "5555",
                      "command": null,
                      "expireTime": null,
                      "remark": null
                    },
                    {
                      "id": 1675787900043353,
                      "supportAdb": true,
                      "envStatus": 2,
                      "adbIp": null,
                      "adbPassword": null,
                      "adbPort": null,
                      "command": null,
                      "expireTime": null,
                      "remark": "Environment is not powered on, unable to query ADB info"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/exeCommand": {
      "post": {
        "summary": "Execute ADB Shell Command",
        "operationId": "executeShellCommand",
        "tags": [
          "ADB"
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Cloud phone ID"
                  },
                  "command": {
                    "type": "string",
                    "description": "Shell command to execute"
                  }
                },
                "required": [
                  "id",
                  "command"
                ]
              },
              "example": {
                "command": "am start -n com.android.chrome/com.google.android.apps.chrome.Main",
                "id": 1674153897828425
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code: 0 indicates success, >0 indicates failure"
                    },
                    "data": {
                      "type": "string",
                      "description": "Response Information"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Response message:An error message will be returned when code is greater than 0"
                    }
                  },
                  "required": [
                    "code",
                    "data",
                    "msg"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/rpa/template/market/page": {
      "post": {
        "summary": "List Market Templates",
        "deprecated": false,
        "description": "Query Schedules market template, template name supports fuzzy query",
        "tags": [
          "Schedules"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "searchKey": {
                    "type": "string",
                    "description": "Template Name",
                    "nullable": true
                  },
                  "pageNo": {
                    "type": "integer",
                    "description": "Default:1",
                    "nullable": true
                  },
                  "pageSize": {
                    "type": "integer",
                    "description": "Default:10",
                    "nullable": true
                  }
                }
              },
              "example": {
                "pageNo": 0,
                "pageSize": 0,
                "searchWords": ""
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error msg"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Request trace id"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "dataList": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string",
                                "description": "Market template title"
                              },
                              "parameter": {
                                "type": "string",
                                "description": "Template parameter JSON string"
                              },
                              "description": {
                                "type": "string",
                                "description": "Market template Description"
                              },
                              "appIconUrls": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "sort": {
                                "type": "integer",
                                "description": "sort"
                              },
                              "author": {
                                "type": "string",
                                "description": "author"
                              },
                              "updateDate": {
                                "type": "string",
                                "description": "Last update time"
                              }
                            },
                            "required": [
                              "parameter"
                            ]
                          }
                        },
                        "current": {
                          "type": "integer",
                          "description": "Current page number"
                        },
                        "pages": {
                          "type": "integer",
                          "description": "Total pages"
                        },
                        "total": {
                          "type": "integer",
                          "description": "Total count"
                        }
                      },
                      "required": [
                        "current",
                        "dataList",
                        "pages",
                        "total"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "msg": "",
                  "data": {
                    "current": 0,
                    "dataList": [
                      {
                        "appIconUrls": [],
                        "author": "",
                        "description": "",
                        "parameter": "",
                        "id": 0,
                        "sort": 0,
                        "title": "",
                        "type": 0,
                        "updateDate": ""
                      }
                    ],
                    "pages": 0,
                    "total": 0
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/rpa/template/personal/page": {
      "post": {
        "summary": "List Personal Templates",
        "deprecated": false,
        "description": "Query Schedules market template, template name supports fuzzy query",
        "tags": [
          "Schedules"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "searchKey": {
                    "type": "string",
                    "description": "Template name",
                    "nullable": true
                  },
                  "desc": {
                    "type": "string",
                    "description": "Template description"
                  },
                  "pageNo": {
                    "type": "integer",
                    "description": "Default:1",
                    "nullable": true
                  },
                  "pageSize": {
                    "type": "integer",
                    "description": "Default:10",
                    "nullable": true
                  }
                }
              },
              "example": {
                "pageNo": 1,
                "pageSize": 10,
                "searchWords": ""
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error msg"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Request trace id"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "dataList": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string",
                                "description": "Market template title"
                              },
                              "parameter": {
                                "type": "string",
                                "description": "Template parameter JSON string"
                              },
                              "description": {
                                "type": "string",
                                "description": "Market template Description"
                              },
                              "appIconUrls": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "sort": {
                                "type": "integer",
                                "description": "sort"
                              },
                              "updateDate": {
                                "type": "string",
                                "description": "Last update time"
                              }
                            }
                          }
                        },
                        "current": {
                          "type": "integer",
                          "description": "Current page number"
                        },
                        "pages": {
                          "type": "integer",
                          "description": "Total pages"
                        },
                        "total": {
                          "type": "integer",
                          "description": "Total count"
                        }
                      },
                      "required": [
                        "current",
                        "dataList",
                        "pages",
                        "total"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "msg": "",
                  "data": {
                    "current": 0,
                    "dataList": [
                      {
                        "id": 0,
                        "title": "",
                        "appIconUrls": [],
                        "author": "",
                        "description": "",
                        "parameter": "",
                        "sort": 0,
                        "updateDate": ""
                      }
                    ],
                    "pages": 0,
                    "total": 0
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/rpa/task/page": {
      "post": {
        "summary": "List RPA Schedules",
        "deprecated": false,
        "description": "",
        "tags": [
          "Schedules"
        ],
        "parameters": [
          {
            "name": "enabled",
            "in": "query",
            "description": "Is the plan enabled",
            "required": false,
            "example": "false",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "mainTaskName",
            "in": "query",
            "description": "plan name",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 150,
              "minLength": 1,
              "nullable": true
            }
          },
          {
            "name": "taskState",
            "in": "query",
            "description": "Plan status; 0:awaiting execution; 1:Executing; 2:Execution completed 3:Cancel",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 3,
              "nullable": true
            }
          },
          {
            "name": "templateTitle",
            "in": "query",
            "description": "Template Title",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 150,
              "minLength": 0,
              "nullable": true
            }
          },
          {
            "name": "pageNo",
            "in": "query",
            "description": "default:1",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "default:20",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "Is the plan enabled",
                    "nullable": true
                  },
                  "taskName": {
                    "type": "string",
                    "description": "Plan name",
                    "nullable": true
                  },
                  "templateTitle": {
                    "type": "string",
                    "description": "Template title",
                    "nullable": true
                  },
                  "taskState": {
                    "type": "integer",
                    "description": "Schedule status; 0:awaiting execution; 1:Executing; 2:Execution completed 3:Cancel\n",
                    "nullable": true
                  },
                  "pageNo": {
                    "type": "integer",
                    "description": "default:1",
                    "nullable": true
                  },
                  "pageSize": {
                    "type": "integer",
                    "description": "default:10",
                    "nullable": true
                  }
                }
              },
              "example": "{\n    \"pageNo\": 1,\n    \"pageSize\": 10,\n}"
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error msg"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Request trace id"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "dataList": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "Schedule id"
                              },
                              "taskName": {
                                "type": "string",
                                "description": "Schedule Task name"
                              },
                              "createMember": {
                                "type": "string",
                                "description": "Member name"
                              },
                              "enabled": {
                                "type": "boolean",
                                "description": "Whether enabled"
                              },
                              "endTime": {
                                "type": "string",
                                "description": "Task end time"
                              },
                              "failCount": {
                                "type": "integer",
                                "description": "Number of failed executions"
                              },
                              "handleTime": {
                                "type": "string",
                                "description": "Execution start time"
                              },
                              "notes": {
                                "type": "string",
                                "description": "schedule notes"
                              },
                              "scheduleConfig": {
                                "type": "string",
                                "description": "Task schedule configuration"
                              },
                              "successCount": {
                                "type": "integer",
                                "description": "Number of successful executions"
                              },
                              "taskPreviewTimeTable": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "cloudPhoneId": {
                                      "type": "integer",
                                      "description": "Cloud phone ID"
                                    },
                                    "cloudPhoneName": {
                                      "type": "string",
                                      "description": "Cloud phone name"
                                    },
                                    "times": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      },
                                      "description": "List of execution times"
                                    }
                                  }
                                }
                              },
                              "taskState": {
                                "type": "integer",
                                "description": "Schedule Task state. 0:waiting; 1:running; 2:completed 3:Cancel"
                              },
                              "templateId": {
                                "type": "integer",
                                "description": "Template id"
                              },
                              "templateTitle": {
                                "type": "string",
                                "description": "Template title"
                              }
                            },
                            "required": [
                              "createMember"
                            ]
                          },
                          "description": "Plan list"
                        },
                        "current": {
                          "type": "integer",
                          "description": "Current page number"
                        },
                        "pages": {
                          "type": "integer",
                          "description": "Total pages"
                        },
                        "total": {
                          "type": "integer",
                          "description": "Total count"
                        }
                      },
                      "required": [
                        "current",
                        "dataList",
                        "pages",
                        "total"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "data",
                    "msg",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "data": {
                    "current": 0,
                    "dataList": [
                      {
                        "createMember": "",
                        "enabled": true,
                        "endTime": "",
                        "failCount": 0,
                        "handleTime": "",
                        "id": 0,
                        "notes": "",
                        "scheduleConfig": "",
                        "successCount": 0,
                        "taskName": "",
                        "taskPreviewTimeTable": [
                          {
                            "billingType": 0,
                            "cloudPhoneId": 0,
                            "cloudPhoneName": "",
                            "times": [
                              ""
                            ]
                          }
                        ],
                        "taskState": 0,
                        "templateId": 0,
                        "templateTitle": ""
                      }
                    ],
                    "pages": 0,
                    "total": 0
                  },
                  "msg": ""
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/rpa/task/save": {
      "post": {
        "summary": "Creating a schedule",
        "deprecated": false,
        "description": "Save cloud phone scheduled task.\n\ntemplateParameter Parameter Specification\n 1. __Parameter Source__\nParameter keys must be extracted from the `parameter` field returned by the following APIs:\n- Get market template pages\n- Get Personal template pages\n2.  __Data Structure__\n- Submit parameters in JSON object format: `{\"key1\": \"value1\", \"key2\": \"value2\"}`\n- Final parameter values must be deserialized according to business logic before use\n3. __Common Type Parameters__\nFor the following parameter types, pass values directly in the corresponding format:\n- string: `{\"name\": \"John\"}`\n- decimal / number: `{\"amount\": 100.50}`\n- boolean: `{\"enabled\": true}`\n4. __Media Type Parameters__\nFor media parameters such as image (pic) or video (video), in addition to basic information, a fixed key `\"__Extra__\"` must be included. Example format:\n```json\n{\n    \"__Extra__\": {\n        \"pic\": {\n            \"name\": \"pic_name\",\n            \"size\": 204800\n        },\n        \"video\": {\n            \"name\": \"video_name\",\n            \"size\": 204800000\n        }\n    },\n    \"pic\": \"https://get.morelogin.com/prod/cloudPhoneTaskVideo/1556061681934880/1c62314c7e2b4d298abe8d5452d7c050/test.png\",\n    \"video\": \"https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4\"\n}\n```\n5. __Parameter Configuration Example__\nThe following example demonstrates how to configure the `templateParameter` parameter when saving a plan using a market template:\n- __Step 1: Retrieve Template Parameters__\nCall the Market Template API:\n`GET /api/cloudphone/rpa/template/market/page`\nExtract the `parameter` field from the response, for example:\n\n```json\n\"parameter\": \"{\\\"videoDownloadUrl\\\":{\\\"type\\\":\\\"video\\\",\\\"extra\\\":{\\\"name\\\":\\\"Select Video\\\",\\\"type\\\":\\\"video\\\",\\\"required\\\":true,\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":1,\\\"sizeLimit\\\":{\\\"value\\\":200,\\\"unit\\\":\\\"MB\\\"},\\\"formatType\\\":[\\\"mp4\\\",\\\"mov\\\"]}},\\\"videoDescription\\\":{\\\"type\\\":\\\"string\\\",\\\"extra\\\":{\\\"name\\\":\\\"Video Caption\\\",\\\"type\\\":\\\"string\\\",\\\"required\\\":false,\\\"charValid\\\":{\\\"enabled\\\":true,\\\"value\\\":1000},\\\"multiline\\\":{\\\"enabled\\\":true,\\\"value\\\":3},\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":2}},\\\"coverUrl\\\":{\\\"type\\\":\\\"image\\\",\\\"extra\\\":{\\\"name\\\":\\\"Cover Image\\\",\\\"type\\\":\\\"image\\\",\\\"required\\\":false,\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":3,\\\"sizeLimit\\\":{\\\"value\\\":5,\\\"unit\\\":\\\"MB\\\"},\\\"formatType\\\":[\\\"jpg\\\",\\\"png\\\",\\\"jpeg\\\"]}},\\\"enableAIGC\\\":{\\\"type\\\":\\\"boolean\\\",\\\"extra\\\":{\\\"name\\\":\\\"AI Label\\\",\\\"type\\\":\\\"boolean\\\",\\\"required\\\":false,\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":4}},\\\"productId\\\":{\\\"type\\\":\\\"string\\\",\\\"extra\\\":{\\\"name\\\":\\\"Product ID\\\",\\\"type\\\":\\\"string\\\",\\\"required\\\":false,\\\"charValid\\\":{\\\"enabled\\\":true,\\\"value\\\":50},\\\"placeholder\\\":\\\"Product ID only supports digits, with a maximum of 50 characters.\\\",\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":5}},\\\"productTitle\\\":{\\\"type\\\":\\\"string\\\",\\\"extra\\\":{\\\"name\\\":\\\"Product Title\\\",\\\"type\\\":\\\"string\\\",\\\"required\\\":false,\\\"charValid\\\":{\\\"enabled\\\":true,\\\"value\\\":30},\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":6}},\\\"getLeads\\\":{\\\"type\\\":\\\"boolean\\\",\\\"extra\\\":{\\\"name\\\":\\\"Get Leads\\\",\\\"type\\\":\\\"boolean\\\",\\\"required\\\":false,\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":7}},\\\"comment\\\":{\\\"type\\\":\\\"string\\\",\\\"extra\\\":{\\\"name\\\":\\\"Comment\\\",\\\"type\\\":\\\"string\\\",\\\"required\\\":false,\\\"charValid\\\":{\\\"enabled\\\":true,\\\"value\\\":200},\\\"multiline\\\":{\\\"enabled\\\":true,\\\"value\\\":3},\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":8}}}\"\n```\n\n- __Step 2: Build the Parameter JSON__\nConstruct the JSON object according to the parameter requirements:\n```json\n{\n  \"__Extra__\": {\n    \"videoDownloadUrl\": {\n      \"name\": \"video_name.mp4\",\n      \"size\": 204800000\n    }\n  },\n  \"videoDownloadUrl\": \"https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4\"\n}\n```\n- __Step 3: Escape the JSON String__\nConvert the JSON object into an escaped string format:\n```json\n\"{\\\"__Extra__\\\": {\\\"videoDownloadUrl\\\": {\\\"name\\\": \\\"video_name.mp4\\\",\\\"size\\\": 204800000}},\\\"videoDownloadUrl\\\": \\\"https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4\\\"}\"\n```\n- __Step 4: API Call__\nPass the escaped string as the value of the `templateParameter` parameter to the target API.\n",
        "tags": [
          "Schedules"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "taskName": {
                    "type": "string",
                    "description": "Task name"
                  },
                  "templateId": {
                    "type": "integer",
                    "description": "Template ID"
                  },
                  "templateType": {
                    "type": "string",
                    "description": "Template type. PERSONAL:personal; MARKET:marketplace"
                  },
                  "taskType": {
                    "type": "string",
                    "description": "Task type. TEMPORARY or SCHEDULED"
                  },
                  "notes": {
                    "type": "string",
                    "description": "Plan notes"
                  },
                  "cloudPhoneConfigs": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "cloudPhoneId": {
                          "type": "integer",
                          "description": "Cloud phone ID"
                        },
                        "triggerTime": {
                          "type": "string",
                          "description": "Task execution time, UTC+0 time zone"
                        },
                        "templateParameter": {
                          "type": "string",
                          "description": "Template parameters are defined in personal templates or market templates. The parameters in the template are defined as:{\"Test\":{\"extra\":{\"type\":\"string\",\"required\":true,\"multiline\":{\"enabled\":false},\"name\":\"Test\",\"index\":1},\"type\":\"string\"}} When requesting parameters, the parameter passed is:{\"Test\":\"xxxx\"}"
                        }
                      },
                      "required": [
                        "cloudPhoneId",
                        "triggerTime",
                        "templateParameter"
                      ]
                    },
                    "description": "Collection of cloud phone schedule configurations"
                  },
                  "scheduleConfig": {
                    "type": "object",
                    "properties": {
                      "endTime": {
                        "type": "string",
                        "description": "date-time"
                      },
                      "scheduleType": {
                        "type": "string",
                        "description": "Schedule type. ONCE:one-time; DAILY:daily"
                      }
                    },
                    "required": [
                      "endTime",
                      "scheduleType"
                    ],
                    "description": "Task schedule configuration"
                  }
                },
                "required": [
                  "cloudPhoneConfigs",
                  "scheduleConfig",
                  "taskName",
                  "taskType",
                  "templateId",
                  "templateType"
                ]
              },
              "example": {
                "cloudPhoneConfigs": [
                  {
                    "cloudPhoneId": 1678331966138097,
                    "templateParameter": "{\"keyword\": \"abc\"}",
                    "triggerTime": "2025-12-29 23:00:00"
                  }
                ],
                "notes": "notes test",
                "scheduleConfig": {
                  "endTime": "2025-12-30 00:00:00",
                  "scheduleType": "ONCE"
                },
                "taskName": "test",
                "templateId": 1678347487160296,
                "templateType": "PERSONAL"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error msg"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Request trace id"
                    },
                    "data": {
                      "type": "integer",
                      "description": "Schedules id"
                    }
                  },
                  "required": [
                    "code",
                    "data",
                    "msg",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "data": 0,
                  "msg": ""
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/rpa/onceTask/save": {
      "post": {
        "summary": "Create One-Time RPA Schedule",
        "deprecated": false,
        "description": "Save cloud phone once scheduled task\n\ntemplateParameter Parameter Specification\n 1. __Parameter Source__\nParameter keys must be extracted from the `parameter` field returned by the following APIs:\n- Get market template pages\n- Get Personal template pages\n2.  __Data Structure__\n- Submit parameters in JSON object format: `{\"key1\": \"value1\", \"key2\": \"value2\"}`\n- Final parameter values must be deserialized according to business logic before use\n3. __Common Type Parameters__\nFor the following parameter types, pass values directly in the corresponding format:\n- string: `{\"name\": \"John\"}`\n- decimal / number: `{\"amount\": 100.50}`\n- boolean: `{\"enabled\": true}`\n4. __Media Type Parameters__\nFor media parameters such as image (pic) or video (video), in addition to basic information, a fixed key `\"__Extra__\"` must be included. Example format:\n```json\n{\n    \"__Extra__\": {\n        \"pic\": {\n            \"name\": \"pic_name\",\n            \"size\": 204800\n        },\n        \"video\": {\n            \"name\": \"video_name\",\n            \"size\": 204800000\n        }\n    },\n    \"pic\": \"https://get.morelogin.com/prod/cloudPhoneTaskVideo/1556061681934880/1c62314c7e2b4d298abe8d5452d7c050/test.png\",\n    \"video\": \"morelogin://cloudfile?ids=1,2\"\n}\n```\nFor files already uploaded to MoreLogin Cloud Storage, use the cloud file protocol as the media or file parameter value: `morelogin://cloudfile?ids=1,2`. The `ids` value is a comma-separated list of Cloud Storage file IDs.\n5. __Parameter Configuration Example__\nThe following example demonstrates how to configure the `templateParameter` parameter when saving a plan using a market template:\n- __Step 1: Retrieve Template Parameters__\nCall the Market Template API:\n`POST /cloudphone/rpa/template/market/page`\nExtract the `parameter` field from the response, for example:\n\n```json\n\"parameter\": \"{\\\"videoDownloadUrl\\\":{\\\"type\\\":\\\"video\\\",\\\"extra\\\":{\\\"name\\\":\\\"Select Video\\\",\\\"type\\\":\\\"video\\\",\\\"required\\\":true,\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":1,\\\"sizeLimit\\\":{\\\"value\\\":200,\\\"unit\\\":\\\"MB\\\"},\\\"formatType\\\":[\\\"mp4\\\",\\\"mov\\\"]}},\\\"videoDescription\\\":{\\\"type\\\":\\\"string\\\",\\\"extra\\\":{\\\"name\\\":\\\"Video Caption\\\",\\\"type\\\":\\\"string\\\",\\\"required\\\":false,\\\"charValid\\\":{\\\"enabled\\\":true,\\\"value\\\":1000},\\\"multiline\\\":{\\\"enabled\\\":true,\\\"value\\\":3},\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":2}},\\\"coverUrl\\\":{\\\"type\\\":\\\"image\\\",\\\"extra\\\":{\\\"name\\\":\\\"Cover Image\\\",\\\"type\\\":\\\"image\\\",\\\"required\\\":false,\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":3,\\\"sizeLimit\\\":{\\\"value\\\":5,\\\"unit\\\":\\\"MB\\\"},\\\"formatType\\\":[\\\"jpg\\\",\\\"png\\\",\\\"jpeg\\\"]}},\\\"enableAIGC\\\":{\\\"type\\\":\\\"boolean\\\",\\\"extra\\\":{\\\"name\\\":\\\"AI Label\\\",\\\"type\\\":\\\"boolean\\\",\\\"required\\\":false,\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":4}},\\\"productId\\\":{\\\"type\\\":\\\"string\\\",\\\"extra\\\":{\\\"name\\\":\\\"Product ID\\\",\\\"type\\\":\\\"string\\\",\\\"required\\\":false,\\\"charValid\\\":{\\\"enabled\\\":true,\\\"value\\\":50},\\\"placeholder\\\":\\\"Product ID only supports digits, with a maximum of 50 characters.\\\",\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":5}},\\\"productTitle\\\":{\\\"type\\\":\\\"string\\\",\\\"extra\\\":{\\\"name\\\":\\\"Product Title\\\",\\\"type\\\":\\\"string\\\",\\\"required\\\":false,\\\"charValid\\\":{\\\"enabled\\\":true,\\\"value\\\":30},\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":6}},\\\"getLeads\\\":{\\\"type\\\":\\\"boolean\\\",\\\"extra\\\":{\\\"name\\\":\\\"Get Leads\\\",\\\"type\\\":\\\"boolean\\\",\\\"required\\\":false,\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":7}},\\\"comment\\\":{\\\"type\\\":\\\"string\\\",\\\"extra\\\":{\\\"name\\\":\\\"Comment\\\",\\\"type\\\":\\\"string\\\",\\\"required\\\":false,\\\"charValid\\\":{\\\"enabled\\\":true,\\\"value\\\":200},\\\"multiline\\\":{\\\"enabled\\\":true,\\\"value\\\":3},\\\"defaultValue\\\":{\\\"enabled\\\":false},\\\"index\\\":8}}}\"\n```\n\n- __Step 2: Build the Parameter JSON__\nConstruct the JSON object according to the parameter requirements:\n```json\n{\n  \"__Extra__\": {\n    \"videoDownloadUrl\": {\n      \"name\": \"video_name.mp4\",\n      \"size\": 204800000\n    }\n  },\n  \"videoDownloadUrl\": \"morelogin://cloudfile?ids=1,2\"\n}\n```\n- __Step 3: Escape the JSON String__\nConvert the JSON object into an escaped string format:\n```json\n\"{\\\"__Extra__\\\": {\\\"videoDownloadUrl\\\": {\\\"name\\\": \\\"video_name.mp4\\\",\\\"size\\\": 204800000}},\\\"videoDownloadUrl\\\": \\\"morelogin://cloudfile?ids=1,2\\\"}\"\n```\n- __Step 4: API Call__\nPass the escaped string as the value of the `templateParameter` parameter to the target API.\n",
        "tags": [
          "Schedules"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cloudPhoneId": {
                    "type": "integer",
                    "description": "Cloud phone ID",
                    "required": true
                  },
                  "scheduleName": {
                    "type": "string",
                    "description": "Schedule name",
                    "required": true
                  },
                  "templateId": {
                    "type": "integer",
                    "description": "Template ID,  Personal template or market template ID",
                    "required": true
                  },
                  "templateParameter": {
                    "type": "string",
                    "description": "Template parameters are defined in personal templates or market templates. The parameters in the template are defined as:{\"Test\":{\"extra\":{\"type\":\"string\",\"required\":true,\"multiline\":{\"enabled\":false},\"name\":\"Test\",\"index\":1},\"type\":\"string\"}} When requesting parameters, the parameter passed is:{\"Test\":\"xxxx\"}"
                  },
                  "description": {
                    "type": "string",
                    "description": "Schedule description"
                  }
                },
                "required": [
                  "cloudPhoneId",
                  "scheduleName",
                  "templateId"
                ]
              },
              "example": {
                "cloudPhoneId": 16783319661123,
                "scheduleName": "test",
                "templateId": 1678347487160256,
                "templateParameter": "{\"keyword\": \"abc\"}",
                "description": "schedule description"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error msg"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Request trace id"
                    },
                    "data": {
                      "type": "integer",
                      "description": "Schedules id"
                    }
                  },
                  "required": [
                    "code",
                    "data",
                    "msg",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "data": 0,
                  "msg": ""
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/rpa/task/cancel": {
      "post": {
        "summary": "Cancel RPA Schedule",
        "deprecated": false,
        "description": "",
        "tags": [
          "Schedules"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "Plan id"
                  }
                },
                "required": [
                  "id"
                ]
              },
              "example": {
                "id": 1678919049331329
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error msg"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Request trace id"
                    }
                  },
                  "required": [
                    "code",
                    "data",
                    "msg",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "data": null,
                  "msg": ""
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/rpa/subTask/page": {
      "post": {
        "summary": "List Task Execution Records",
        "deprecated": false,
        "description": "Query Schedules market template, template name supports fuzzy query",
        "tags": [
          "Schedules"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "taskId": {
                    "type": "integer",
                    "description": "Task id",
                    "nullable": true
                  },
                  "taskName": {
                    "type": "string",
                    "description": "Task name",
                    "maxLength": 255,
                    "minLength": 1,
                    "nullable": true
                  },
                  "taskState": {
                    "type": "integer",
                    "description": "Plan status; 0:awaiting execution; 1:Executing; 2:Execution completed 3:Cancel",
                    "maximum": 9,
                    "minimum": 0,
                    "nullable": true
                  },
                  "templateId": {
                    "type": "integer",
                    "description": "Template id",
                    "maximum": 99999999999,
                    "minimum": 0,
                    "nullable": true
                  },
                  "templateTitle": {
                    "type": "string",
                    "description": "Template title",
                    "maxLength": 255,
                    "minLength": 0,
                    "nullable": true
                  },
                  "cloudPhoneId": {
                    "type": "integer",
                    "description": "cloud phone id",
                    "nullable": true,
                    "example": 1559133625483282
                  },
                  "cloudPhoneName": {
                    "type": "string",
                    "description": "Cloud phone name",
                    "maxLength": 100,
                    "minLength": 0,
                    "nullable": true
                  },
                  "beginTime": {
                    "type": "string",
                    "description": "Task start time UTC+0 time zone",
                    "nullable": true,
                    "example": "2025-01-01 23:59:59"
                  },
                  "endTime": {
                    "type": "string",
                    "description": "Task end time UTC+0 time zone\n",
                    "nullable": true,
                    "example": "2025-01-02 23:59:59"
                  },
                  "pageNo": {
                    "type": "integer",
                    "description": "Default:1",
                    "nullable": true,
                    "example": 1
                  },
                  "pageSize": {
                    "type": "integer",
                    "description": "Default:10",
                    "nullable": true
                  }
                }
              },
              "example": {
                "pageNo": 1,
                "pageSize": 10
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error msg"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Request trace id"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "dataList": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Execution DTO"
                          }
                        },
                        "current": {
                          "type": "integer",
                          "description": "Current page number"
                        },
                        "pages": {
                          "type": "integer",
                          "description": "Total pages"
                        },
                        "total": {
                          "type": "integer",
                          "description": "Total count"
                        }
                      },
                      "required": [
                        "current",
                        "dataList",
                        "pages",
                        "total"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "msg": "",
                  "data": {
                    "current": 0,
                    "dataList": [
                      {
                        "appIconUrls": [],
                        "author": "",
                        "description": "",
                        "id": 0,
                        "sort": 0,
                        "title": "",
                        "type": 0,
                        "updateDate": ""
                      }
                    ],
                    "pages": 0,
                    "total": 0
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/rpa/subTask/detail/{id}": {
      "post": {
        "summary": "Get Task Execution Details",
        "deprecated": false,
        "description": "Query Schedules market template, template name supports fuzzy query",
        "tags": [
          "Schedules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Execution task id",
            "required": true,
            "example": 1678919049331331,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "taskId": {
                    "type": "integer",
                    "description": "Task id",
                    "nullable": true
                  },
                  "taskName": {
                    "type": "string",
                    "description": "Task name",
                    "maxLength": 255,
                    "minLength": 1,
                    "nullable": true
                  },
                  "taskState": {
                    "type": "integer",
                    "description": "Plan status; 0:awaiting execution; 1:Executing; 2:Execution completed 3:Cancel",
                    "maximum": 9,
                    "minimum": 0,
                    "nullable": true
                  },
                  "templateId": {
                    "type": "integer",
                    "description": "Template id",
                    "maximum": 99999999999,
                    "minimum": 0,
                    "nullable": true
                  },
                  "templateTitle": {
                    "type": "string",
                    "description": "Template title",
                    "maxLength": 255,
                    "minLength": 0,
                    "nullable": true
                  },
                  "cloudPhoneId": {
                    "type": "integer",
                    "description": "cloud phone id",
                    "nullable": true,
                    "example": 1559133625483282
                  },
                  "cloudPhoneName": {
                    "type": "string",
                    "description": "Cloud phone name",
                    "maxLength": 100,
                    "minLength": 0,
                    "nullable": true
                  },
                  "beginTime": {
                    "type": "string",
                    "description": "Task start time UTC+0 time zone",
                    "nullable": true,
                    "example": "2025-01-01 23:59:59"
                  },
                  "endTime": {
                    "type": "string",
                    "description": "Task end time UTC+0 time zone\n",
                    "nullable": true,
                    "example": "2025-01-02 23:59:59"
                  },
                  "pageNo": {
                    "type": "integer",
                    "description": "Default:1",
                    "nullable": true,
                    "example": 1
                  },
                  "pageSize": {
                    "type": "integer",
                    "description": "Default:10",
                    "nullable": true
                  }
                }
              },
              "example": ""
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error msg"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Request trace id"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "Execution record id"
                        },
                        "taskName": {
                          "type": "string",
                          "description": "Schedule Task name"
                        },
                        "taskState": {
                          "type": "integer",
                          "description": "Schedule status; 0:awaiting execution; 1:Executing; 2:Execution completed 3:Cancel"
                        },
                        "cloudPhoneId": {
                          "type": "integer",
                          "description": "Cloud phone ID"
                        },
                        "cloudPhoneName": {
                          "type": "string",
                          "description": "Cloud phone name"
                        },
                        "templateName": {
                          "type": "string",
                          "description": "Template title"
                        },
                        "handleFailCode": {
                          "type": "string",
                          "description": "Task failure code"
                        },
                        "handleFailReason": {
                          "type": "string",
                          "description": "Task failure reason"
                        },
                        "handleResult": {
                          "type": "integer",
                          "description": "Task result. 0:failed; 1:succeeded"
                        },
                        "handleResultAttachment": {
                          "type": "string",
                          "description": "Task execution result attachment"
                        },
                        "handleTime": {
                          "type": "string",
                          "description": "Execution time"
                        },
                        "endTime": {
                          "type": "string",
                          "description": "Task end time"
                        },
                        "powerOnTime": {
                          "type": "string",
                          "description": "Cloud phone power-on time"
                        },
                        "triggerNextTime": {
                          "type": "string",
                          "description": "Next scheduled trigger time"
                        },
                        "triggerTime": {
                          "type": "string",
                          "description": "Scheduled trigger time"
                        },
                        "createDate": {
                          "type": "string",
                          "description": "Creation time"
                        },
                        "createMember": {
                          "type": "string",
                          "description": "Creator"
                        },
                        "updateDate": {
                          "type": "string",
                          "description": "Last update time"
                        },
                        "updateMember": {
                          "type": "string",
                          "description": "Last updater"
                        }
                      }
                    }
                  },
                  "required": [
                    "code",
                    "msg",
                    "data",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "msg": "",
                  "data": {
                    "current": 0,
                    "dataList": [
                      {
                        "appIconUrls": [],
                        "author": "",
                        "description": "",
                        "id": 0,
                        "sort": 0,
                        "title": "",
                        "type": 0,
                        "updateDate": ""
                      }
                    ],
                    "pages": 0,
                    "total": 0
                  }
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/rpa/subTask/cancel/{id}": {
      "post": {
        "summary": "Cancel Task Execution",
        "deprecated": false,
        "description": "",
        "tags": [
          "Schedules"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "Plan id"
                  }
                },
                "required": [
                  "id"
                ]
              },
              "example": {
                "id": 1678919049331329
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "Response code, 0 indicates success,>0 indicates failure"
                    },
                    "msg": {
                      "type": "string",
                      "description": "Error msg"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "Request trace id"
                    }
                  },
                  "required": [
                    "code",
                    "data",
                    "msg",
                    "requestId"
                  ]
                },
                "example": {
                  "code": 0,
                  "data": null,
                  "msg": ""
                }
              }
            },
            "headers": {}
          }
        }
      }
    },
    "/cloudphone/touch/click": {
      "post": {
        "tags": [
          "Touch"
        ],
        "summary": "Touch - Click",
        "description": "Simulate a single tap on the cloud phone screen at the specified coordinates.\nThe coordinate system uses the top-left corner of the screen as the origin `(0, 0)`, with the X-axis extending to the right and the Y-axis extending downward.\n",
        "operationId": "touchClick",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TouchClickRequest"
              },
              "example": {
                "id": 1558968155668507,
                "pos": [
                  540,
                  960
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TouchResultResponse"
                },
                "example": {
                  "code": 0,
                  "msg": "success",
                  "data": {
                    "status": "finish"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/touch/doubleClick": {
      "post": {
        "tags": [
          "Touch"
        ],
        "summary": "Touch - Double Click",
        "description": "Simulate a double tap on the cloud phone screen at the specified coordinates.\nThe coordinate system uses the top-left corner of the screen as the origin `(0, 0)`, with the X-axis extending to the right and the Y-axis extending downward.\n",
        "operationId": "touchDoubleClick",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TouchClickRequest"
              },
              "example": {
                "id": 1558968155668507,
                "pos": [
                  540,
                  960
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TouchResultResponse"
                },
                "example": {
                  "code": 0,
                  "msg": "success",
                  "data": {
                    "status": "finish"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/touch/longClick": {
      "post": {
        "tags": [
          "Touch"
        ],
        "summary": "Touch - Long Press",
        "description": "Simulate a long press on the cloud phone screen at the specified coordinates.\nUse the `duration` parameter to customize how long the press is held (in milliseconds). If omitted, the default duration is used.\nThe coordinate system uses the top-left corner of the screen as the origin `(0, 0)`, with the X-axis extending to the right and the Y-axis extending downward.\n",
        "operationId": "touchLongClick",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TouchClickRequest"
              },
              "example": {
                "id": 1558968155668507,
                "pos": [
                  540,
                  960
                ],
                "duration": 2000
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TouchResultResponse"
                },
                "example": {
                  "code": 0,
                  "msg": "success",
                  "data": {
                    "status": "finish"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/touch/swipe": {
      "post": {
        "tags": [
          "Touch"
        ],
        "summary": "Touch - Swipe",
        "description": "Simulate a finger swipe from the start coordinates to the end coordinates.\nUse the `duration` parameter to control the swipe speed (in milliseconds). A larger value results in a slower swipe.\nThe coordinate system uses the top-left corner of the screen as the origin `(0, 0)`, with the X-axis extending to the right and the Y-axis extending downward.\n",
        "operationId": "touchSwipe",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TouchSwipeRequest"
              },
              "example": {
                "id": 1558968155668507,
                "pos1": [
                  540,
                  1500
                ],
                "pos2": [
                  540,
                  500
                ],
                "duration": 300
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TouchResultResponse"
                },
                "example": {
                  "code": 0,
                  "msg": "success",
                  "data": {
                    "status": "finish"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/cloudphone/touch/drag": {
      "post": {
        "tags": [
          "Touch"
        ],
        "summary": "Touch - Drag",
        "description": "Simulate a finger drag from the start coordinates to the end coordinates. Similar to swipe, but drag is typically used for dragging icons, UI elements, etc.\nUse the `duration` parameter to control the drag speed (in milliseconds). A larger value results in a slower drag.\nThe coordinate system uses the top-left corner of the screen as the origin `(0, 0)`, with the X-axis extending to the right and the Y-axis extending downward.\n",
        "operationId": "touchDrag",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TouchSwipeRequest"
              },
              "example": {
                "id": 1558968155668507,
                "pos1": [
                  200,
                  500
                ],
                "pos2": [
                  800,
                  500
                ],
                "duration": 500
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TouchResultResponse"
                },
                "example": {
                  "code": 0,
                  "msg": "success",
                  "data": {
                    "status": "finish"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "webhooks": {},
  "components": {
    "schemas": {
      "ResponseDataPageResultCloudPhoneAppDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "Status code, 0 means success",
            "example": 0
          },
          "msg": {
            "type": "string",
            "description": "Description message",
            "example": "Success"
          },
          "data": {
            "description": "Response data",
            "$ref": "#/components/schemas/PageResultCloudPhoneAppDto"
          }
        }
      },
      "PageResultCloudPhoneAppDto": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of records",
            "example": 15
          },
          "current": {
            "type": "integer",
            "format": "int64",
            "description": "Current page number",
            "example": 1
          },
          "pages": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of pages",
            "example": 2
          },
          "dataList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CloudPhoneAppDto"
            },
            "description": "List of team applications"
          }
        }
      },
      "CloudPhoneAppDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Record ID",
            "example": 123456
          },
          "appName": {
            "type": "string",
            "description": "Application name",
            "example": "Facebook"
          },
          "packageName": {
            "type": "string",
            "description": "Android package name",
            "example": "com.facebook.katana"
          },
          "versionName": {
            "type": "string",
            "description": "Version display name",
            "example": "450.0.0.1"
          },
          "versionCode": {
            "type": "string",
            "description": "Version code",
            "example": "450000000"
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the application is enabled",
            "example": true
          },
          "desc": {
            "type": "string",
            "description": "Application description",
            "example": "Social media application"
          },
          "enableRoot": {
            "type": "boolean",
            "description": "Whether ROOT access is enabled for the application",
            "example": false
          }
        }
      },
      "ApiAppRootOperateDto": {
        "type": "object",
        "required": [
          "id",
          "packageNames"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Cloud Phone ID",
            "example": 12345678
          },
          "packageNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of application package names to allow ROOT access",
            "example": [
              "com.test"
            ]
          }
        }
      },
      "CloudPhoneSetProxyApiDto": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "description": "List of cloud phone environment IDs",
            "example": [
              1558968155668507
            ]
          },
          "uniqueIds": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "List of display sequence IDs of cloud phone environments (used as reference mapping if envIds are not provided)",
            "example": [
              1001
            ]
          },
          "proxy": {
            "description": "Proxy settings",
            "$ref": "#/components/schemas/CloudPhoneProxyDto"
          }
        }
      },
      "CloudPhoneProxyDto": {
        "type": "object",
        "required": [
          "proxyIp",
          "proxyPort",
          "proxyType"
        ],
        "properties": {
          "proxyId": {
            "type": "integer",
            "format": "int64",
            "description": "Proxy Configuration ID (If this value is greater than 0, it means reusing an existing proxy configuration; if empty or <=0, it represents using the subsequent detailed parameters to create/update proxy details)",
            "example": 10002
          },
          "proxyIp": {
            "type": "string",
            "description": "Proxy server IP address",
            "example": "192.168.1.100"
          },
          "proxyPort": {
            "type": "integer",
            "description": "Proxy server port",
            "minimum": 1,
            "maximum": 65535,
            "example": 8080
          },
          "proxyName": {
            "type": "string",
            "maxLength": 600,
            "description": "Proxy configuration name/description",
            "example": "test_proxy_01"
          },
          "proxyProvider": {
            "type": "integer",
            "description": "Proxy provider 0:http, 1:https, 2:socks5",
            "example": 2
          },
          "username": {
            "type": "string",
            "maxLength": 200,
            "description": "Proxy authentication username",
            "example": "admin"
          },
          "password": {
            "type": "string",
            "maxLength": 100,
            "description": "Proxy authentication password",
            "example": "pwd123"
          },
          "refreshUrl": {
            "type": "string",
            "description": "API URL to refresh dynamic proxy IP",
            "example": "http://api.proxy.com/refresh"
          },
          "country": {
            "type": "string",
            "description": "Country code of the proxy location (e.g. CN, US)",
            "example": "US"
          },
          "state": {
            "type": "string",
            "description": "State/Province of the proxy location",
            "example": "California"
          },
          "city": {
            "type": "string",
            "description": "City of the proxy location",
            "example": "Los Angeles"
          }
        }
      },
      "CloudPhoneEnableRootApiDTO": {
        "type": "object",
        "required": [
          "id",
          "enableRoot"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Cloud Phone ID",
            "example": 1558968155668507
          },
          "enableRoot": {
            "type": "boolean",
            "description": "Whether to enable global system-level ROOT permission",
            "example": true
          }
        }
      },
      "CloudPhoneProfile": {
        "type": "object",
        "properties": {
          "abnormalStatus": {
            "type": "integer",
            "description": "Abnormal status 0-No abnormality 1-Unactivated 2-Out-of-contract 3-Oversold 4-Deactivated"
          },
          "adbInfo": {
            "description": "ADB connection information",
            "$ref": "#/components/schemas/AdbInfo"
          },
          "billingType": {
            "type": "integer",
            "description": "Billing type: 1 = Pay-per-minute (On-demand), 2 = Monthly"
          },
          "createDate": {
            "description": "Creation time",
            "type": "string",
            "format": "date-time"
          },
          "createMember": {
            "description": "Creator member ID",
            "type": "integer"
          },
          "createMemberName": {
            "description": "Creator member name",
            "type": "string"
          },
          "enableAdb": {
            "description": "Whether to enable ADB",
            "type": "boolean"
          },
          "envName": {
            "type": "string",
            "description": "Cloud Phone Name"
          },
          "envRemark": {
            "type": "string",
            "description": "Profile Remarks"
          },
          "envStatus": {
            "type": "integer",
            "description": "Profile Status:\n- 0: New\n- 1: Creation failed\n- 2: Powered off\n- 3: Booting\n- 4: Powered on\n- 5: Resetting\n- 6: Restarting\n- 7: One-click new machine in progress\n"
          },
          "expireTime": {
            "type": "integer",
            "description": "expiration time"
          },
          "groupId": {
            "description": "Group ID",
            "type": "integer"
          },
          "groupName": {
            "description": "Group name. Null when the cloud phone is ungrouped",
            "type": "string",
            "nullable": true
          },
          "id": {
            "description": "Cloud phone ID",
            "type": "integer",
            "format": "int64"
          },
          "androidId": {
            "type": "string",
            "description": "cloud phone android id"
          },
          "gaid": {
            "type": "string",
            "description": "cloud phone gaid"
          },
          "lastConnectDate": {
            "description": "Last connection time",
            "type": "string",
            "format": "date-time"
          },
          "lastConnectMemberId": {
            "description": "Last connected member ID",
            "type": "integer"
          },
          "lastConnectMemberName": {
            "description": "Last connected member name",
            "type": "string"
          },
          "lastStartDate": {
            "description": "Last boot time",
            "type": "string",
            "format": "date-time"
          },
          "lastStartMemberId": {
            "description": "Last boot member ID",
            "type": "integer"
          },
          "lastStartMemberName": {
            "description": "Last boot member name",
            "type": "string"
          },
          "proxy": {
            "description": "Proxy settings",
            "$ref": "#/components/schemas/ProxyInfo"
          },
          "proxyStatus": {
            "type": "integer",
            "description": "Proxy Status:0-Not Detected 1-Detecting 2-Detecting Failed 3-Detecting Successful"
          },
          "supportAdb": {
            "description": "Whether ADB is supported: 0 = no, 1 = yes",
            "type": "boolean"
          },
          "tagInfos": {
            "description": "Tag details. Empty array when no tags are assigned",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "Tag ID",
                  "type": "string"
                },
                "tagName": {
                  "description": "Tag name",
                  "type": "string"
                }
              },
              "required": [
                "id",
                "tagName"
              ]
            }
          },
          "updateDate": {
            "description": "Update time",
            "type": "string",
            "format": "date-time"
          },
          "updateMember": {
            "description": "Updater member ID",
            "type": "integer"
          }
        }
      },
      "AdbInfo": {
        "type": "object",
        "properties": {
          "adbIp": {
            "type": "string",
            "description": "adb ip"
          },
          "adbPassword": {
            "type": "string",
            "description": "adb connection password"
          },
          "adbPort": {
            "type": "string",
            "description": "adb port"
          },
          "command": {
            "type": "string",
            "description": "ADB SSH tunnel connection command",
            "nullable": true
          },
          "expireTime": {
            "type": "string",
            "description": "ADB connection expiration time",
            "nullable": true
          },
          "remark": {
            "type": "string",
            "description": "Failure Remarks Information"
          },
          "success": {
            "type": "integer",
            "description": "Successful acquisition 1=Yes 0=No"
          }
        },
        "required": [
          "adbIp",
          "adbPassword",
          "adbPort",
          "remark",
          "success"
        ]
      },
      "ProxyInfo": {
        "type": "object",
        "properties": {
          "country": {
            "description": "Country",
            "type": "string"
          },
          "countryCode": {
            "description": "Country code",
            "type": "string"
          },
          "createDate": {
            "description": "Creation time",
            "type": "string",
            "format": "date-time"
          },
          "delFlag": {
            "type": "integer",
            "description": "1 - deleted 2 - not deleted"
          },
          "expiryTime": {
            "description": "Expiration time",
            "type": "integer"
          },
          "exportIp": {
            "description": "Outgoing IP address",
            "type": "string"
          },
          "groupId": {
            "description": "Group ID",
            "type": "integer"
          },
          "id": {
            "description": "ID",
            "type": "integer",
            "format": "int64"
          },
          "providerCode": {
            "description": "Provider code",
            "type": "string"
          },
          "proxyAreaCode": {
            "description": "Proxy location area code",
            "type": "string"
          },
          "proxyCatagoryType": {
            "type": "integer",
            "description": "Proxy type:0:site group 1:cloud platform 2:own IP 3:vps 4:virtual machine"
          },
          "proxyCheckStatus": {
            "type": "integer",
            "description": "Detection status:0:pending detection 1:successful detection 2:detection failure 3:unknown error"
          },
          "proxyInfo": {
            "description": "Proxy details string",
            "type": "string"
          },
          "proxyIp": {
            "description": "Proxy server IP address",
            "type": "string"
          },
          "proxyName": {
            "description": "Proxy configuration name",
            "type": "string"
          },
          "proxyPort": {
            "description": "Proxy server port",
            "type": "integer"
          },
          "proxyRegionCode": {
            "description": "Proxy location region code",
            "type": "string"
          },
          "proxyStatus": {
            "type": "integer",
            "description": "0-Normal 1-Pending allocation 2-Upgrading 3-Expired"
          },
          "proxySub": {
            "description": "Proxy subscription information",
            "$ref": "#/components/schemas/ProxySubscription"
          },
          "proxyType": {
            "type": "integer",
            "description": "Proxy type:0-http 1-https 2-socks5 4-Oxylabs 5-Proxys.io 6-GeoSurf 9-Oxylabsauto 10-Trogan 11-Shadowsocks 12-vmess"
          },
          "proxyTypeCode": {
            "description": "Proxy protocol type code",
            "type": "string"
          },
          "regionKey": {
            "description": "Cloud platform region key",
            "type": "string"
          },
          "releaseTime": {
            "type": "string",
            "format": "date-time",
            "description": "Release time:deletion time if deleted, expiration time if expired"
          },
          "uniqueId": {
            "description": "Display sort sequence ID",
            "type": "integer"
          }
        },
        "required": [
          "country",
          "countryCode",
          "createDate",
          "delFlag",
          "expiryTime",
          "exportIp",
          "groupId",
          "id",
          "providerCode",
          "proxyAreaCode",
          "proxyCatagoryType",
          "proxyCheckStatus",
          "proxyInfo",
          "proxyIp",
          "proxyName",
          "proxyPort",
          "proxyRegionCode",
          "proxyStatus",
          "proxySub",
          "proxyType",
          "proxyTypeCode",
          "regionKey",
          "releaseTime",
          "uniqueId"
        ]
      },
      "ProxySubscription": {
        "type": "object",
        "properties": {
          "activeRecordId": {
            "description": "Active subscription record ID",
            "type": "integer"
          },
          "businessId": {
            "description": "Proxy service business ID",
            "type": "string"
          },
          "createMember": {
            "description": "Creator member ID",
            "type": "integer"
          },
          "endTime": {
            "description": "End time",
            "type": "integer"
          },
          "id": {
            "description": "Subscription ID",
            "type": "integer"
          },
          "nextBillingTime": {
            "description": "Next billing/payment time",
            "type": "integer"
          },
          "startTime": {
            "description": "Start time of validity",
            "type": "integer"
          },
          "subPayMethod": {
            "description": "Subscription payment method",
            "type": "string"
          },
          "subStatus": {
            "type": "integer",
            "description": "Subscription Status:0-Pending 1-Subscribed 2-Cancelled"
          },
          "subType": {
            "type": "integer",
            "description": "Subscription Type:1-Agent 2-Package"
          },
          "teamId": {
            "description": "Team ID",
            "type": "integer"
          }
        },
        "required": [
          "activeRecordId",
          "businessId",
          "createMember",
          "endTime",
          "id",
          "nextBillingTime",
          "startTime",
          "subPayMethod",
          "subStatus",
          "subType",
          "teamId"
        ]
      },
      "TagInfo": {
        "type": "object",
        "properties": {
          "id": {
            "description": "ID",
            "type": "integer"
          },
          "tagIcon": {
            "description": "Tag icon URL",
            "type": "string"
          },
          "tagName": {
            "description": "Tag name",
            "type": "string"
          },
          "tagSource": {
            "type": "string",
            "description": "Tag Source: ENV profile, PROXY proxy"
          },
          "tagType": {
            "type": "string",
            "description": "Tag type: TAG tag, GROUP group"
          }
        }
      },
      "CloudPhoneDetail": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Cloud phone ID",
            "type": "string"
          },
          "androidId": {
            "type": "string",
            "description": "cloud phone android id"
          },
          "gaid": {
            "type": "string",
            "description": "cloud phone gaid"
          },
          "envName": {
            "description": "Environment name",
            "type": "string"
          },
          "groupId": {
            "description": "Group ID",
            "type": "string"
          },
          "groupName": {
            "description": "Group name. Null when the cloud phone is ungrouped",
            "type": "string",
            "nullable": true
          },
          "skuId": {
            "description": "Product SKU ID",
            "type": "string"
          },
          "tagInfos": {
            "description": "Tag details. Empty array when no tags are assigned",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "Tag ID",
                  "type": "string"
                },
                "tagName": {
                  "description": "Tag name",
                  "type": "string"
                }
              },
              "required": [
                "id",
                "tagName"
              ]
            }
          },
          "billingType": {
            "description": "Billing type: 1 = Pay-per-minute (On-demand), 2 = Monthly",
            "type": "integer"
          },
          "proxyStatus": {
            "description": "Proxy status: 0 = not detected, 1 = detecting, 2 = detection failed, 3 = detection successful",
            "type": "integer"
          },
          "settings": {
            "description": "Advanced fingerprint settings",
            "type": "object",
            "properties": {
              "automaticGeo": {
                "type": "boolean"
              },
              "automaticLocation": {
                "type": "boolean"
              },
              "automaticLanguage": {
                "type": "boolean"
              },
              "longitude": {
                "type": "number",
                "nullable": true
              },
              "latitude": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "automaticGeo",
              "automaticLocation",
              "automaticLanguage",
              "longitude",
              "latitude"
            ]
          },
          "device": {
            "description": "Device hardware information",
            "type": "object",
            "properties": {
              "server": {
                "type": "string",
                "nullable": true
              },
              "countryName": {
                "type": "string"
              },
              "rom": {
                "type": "integer"
              },
              "wifiBssid": {
                "type": "string",
                "nullable": true
              },
              "bluetoothMac": {
                "type": "string"
              }
            },
            "required": [
              "server",
              "countryName",
              "rom",
              "wifiBssid",
              "bluetoothMac"
            ]
          },
          "proxy": {
            "description": "Proxy settings",
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "proxyName": {
                "type": "string"
              },
              "proxyIp": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "proxyName",
              "proxyIp"
            ]
          },
          "lastStartMemberId": {
            "description": "Last boot member ID",
            "type": "string"
          },
          "lastStartMemberName": {
            "description": "Last boot member name",
            "type": "string",
            "nullable": true
          },
          "lastStartDate": {
            "description": "Last boot time",
            "type": "string",
            "format": "date-time"
          },
          "lastConnectMemberId": {
            "description": "Last connected member ID",
            "type": "string"
          },
          "lastConnectMemberName": {
            "description": "Last connected member name",
            "type": "string",
            "nullable": true
          },
          "lastConnectDate": {
            "description": "Last connection time",
            "type": "string",
            "format": "date-time"
          },
          "envStatus": {
            "description": "Environment status: 0 = new, 1 = creation failed, 2 = powered off, 3 = booting, 4 = powered on, 5 = resetting, 6 = restarting, 7 = one-click new machine in progress",
            "type": "integer"
          },
          "abnormalStatus": {
            "description": "Abnormal status: 0 = normal, 1 = unactivated, 2 = arrears, 3 = oversold, 4 = deactivated",
            "type": "integer"
          },
          "expireTime": {
            "description": "Expiration time",
            "type": "string"
          },
          "envRemark": {
            "description": "Environment remark",
            "type": "string"
          },
          "createMember": {
            "description": "Creator member ID",
            "type": "string"
          },
          "updateMember": {
            "description": "Updater member ID",
            "type": "string"
          },
          "updateDate": {
            "description": "Update time",
            "type": "string",
            "format": "date-time"
          },
          "createDate": {
            "description": "Creation time",
            "type": "string",
            "format": "date-time"
          },
          "createMemberName": {
            "description": "Creator member name",
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "envName",
          "groupId",
          "skuId",
          "tagIds",
          "billingType",
          "proxyStatus",
          "settings",
          "device",
          "proxy",
          "lastStartMemberId",
          "lastStartMemberName",
          "lastStartDate",
          "lastConnectMemberId",
          "lastConnectMemberName",
          "lastConnectDate",
          "envStatus",
          "abnormalStatus",
          "expireTime",
          "envRemark",
          "createMember",
          "updateMember",
          "updateDate",
          "createDate",
          "createMemberName"
        ]
      },
      "ApiBatchAdbInfoDto": {
        "type": "object",
        "required": [
          "envIds"
        ],
        "properties": {
          "envIds": {
            "type": "array",
            "description": "List of environment IDs, maximum 200",
            "maxItems": 200,
            "minItems": 1,
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "example": [
              1674380838117474,
              1675787900043353
            ]
          }
        }
      },
      "ApiBatchAdbInfoResultDto": {
        "type": "object",
        "description": "Batch ADB info query result",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Environment ID"
          },
          "supportAdb": {
            "type": "boolean",
            "description": "Whether ADB is supported"
          },
          "enableAdb": {
            "type": "boolean",
            "description": "Enable ADB 0 = Disabled, 1 = Enabled"
          },
          "envStatus": {
            "type": "integer",
            "description": "Environment status:\n- 0: New\n- 1: Creation failed\n- 2: Powered off\n- 3: Booting\n- 4: Powered on\n- 5: Resetting\n- 6: Restarting\n- 7: One-click new machine in progress\n"
          },
          "adbIp": {
            "type": "string",
            "description": "ADB connection IP address",
            "nullable": true
          },
          "adbPassword": {
            "type": "string",
            "description": "ADB connection password",
            "nullable": true
          },
          "adbPort": {
            "type": "string",
            "description": "ADB connection port",
            "nullable": true
          },
          "command": {
            "type": "string",
            "description": "ADB SSH tunnel connection command",
            "nullable": true
          },
          "expireTime": {
            "type": "string",
            "description": "ADB connection expiration time",
            "nullable": true
          },
          "remark": {
            "type": "string",
            "description": "Remark info. When ADB info cannot be retrieved, the reason is provided:\n- Environment does not exist\n- Environment is not powered on, unable to query ADB info\n- This environment does not support ADB\n- Failed to retrieve ADB info\n",
            "nullable": true
          }
        }
      },
      "ResponseDataListApiBatchAdbInfoResultDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "Response code, 0 indicates success",
            "example": 0
          },
          "msg": {
            "type": "string",
            "description": "Response message",
            "example": "success"
          },
          "data": {
            "type": "array",
            "description": "ADB info list, in the same order as the requested envIds",
            "items": {
              "$ref": "#/components/schemas/ApiBatchAdbInfoResultDto"
            }
          }
        }
      },
      "Execution DTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Execution record id"
          },
          "taskName": {
            "type": "string",
            "description": "Schedule Task name"
          },
          "taskState": {
            "type": "integer",
            "description": "Schedule status; 0:awaiting execution; 1:Executing; 2:Execution completed 3:Cancel"
          },
          "cloudPhoneId": {
            "type": "integer",
            "description": "Cloud phone ID"
          },
          "cloudPhoneName": {
            "type": "string",
            "description": "Cloud phone name"
          },
          "templateName": {
            "type": "string",
            "description": "Template title"
          },
          "handleFailCode": {
            "type": "string",
            "description": "Task failure code"
          },
          "handleFailReason": {
            "type": "string",
            "description": "Task failure reason"
          },
          "handleResult": {
            "type": "integer",
            "description": "Task result. 0:failed; 1:succeeded"
          },
          "handleResultAttachment": {
            "type": "string",
            "description": "Task execution result attachment"
          },
          "handleTime": {
            "type": "string",
            "description": "Execution time"
          },
          "endTime": {
            "type": "string",
            "description": "Task end time"
          },
          "powerOnTime": {
            "type": "string",
            "description": "Cloud phone power-on time"
          },
          "triggerNextTime": {
            "type": "string",
            "description": "Next scheduled trigger time"
          },
          "triggerTime": {
            "type": "string",
            "description": "Scheduled trigger time"
          },
          "createDate": {
            "type": "string",
            "description": " Creation time"
          },
          "createMember": {
            "type": "string",
            "description": "Creator"
          },
          "updateDate": {
            "type": "string",
            "description": "Last update time"
          },
          "updateMember": {
            "type": "string",
            "description": "Last updater"
          }
        }
      },
      "TouchClickRequest": {
        "type": "object",
        "required": [
          "id",
          "pos"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Cloud Phone ID",
            "example": 1558968155668507
          },
          "pos": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "minItems": 2,
            "maxItems": 2,
            "description": "Tap coordinates [x, y]. The coordinate system uses the top-left corner as origin (0, 0).",
            "example": [
              540,
              960
            ]
          },
          "duration": {
            "type": "integer",
            "description": "Press duration in milliseconds (used for long press). If omitted, the default duration is used.",
            "example": 2000
          }
        }
      },
      "TouchSwipeRequest": {
        "type": "object",
        "required": [
          "id",
          "pos1",
          "pos2"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Cloud Phone ID",
            "example": 1558968155668507
          },
          "pos1": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "minItems": 2,
            "maxItems": 2,
            "description": "Start coordinates [x, y]",
            "example": [
              540,
              1500
            ]
          },
          "pos2": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "minItems": 2,
            "maxItems": 2,
            "description": "End coordinates [x, y]",
            "example": [
              540,
              500
            ]
          },
          "duration": {
            "type": "integer",
            "description": "Swipe/drag duration in milliseconds. A larger value results in a slower action.",
            "example": 300
          }
        }
      },
      "TouchResultResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "Status code, 0 means success",
            "example": 0
          },
          "msg": {
            "type": "string",
            "description": "Response message",
            "example": "success"
          },
          "data": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "Execution status",
                "example": "finish"
              }
            }
          }
        }
      }
    },
    "responses": {
      "402": {
        "description": "",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "integer"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "message"
              ]
            }
          }
        }
      },
      "404": {
        "description": "",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "integer"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "message"
              ]
            }
          }
        }
      }
    },
    "securitySchemes": {
      "Authorization": {
        "type": "http",
        "in": "header",
        "name": "Authorization",
        "description": "Token for request access token interface response access_token field",
        "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNT....",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "servers": [
    {
      "url": "https://api.MoreLogin.com",
      "description": "MoreLogin open api endpoint"
    }
  ],
  "security": [
    {
      "Authorization": []
    }
  ]
}